Presto তে Scalar Functions হলো সেই ফাংশনগুলি যা এক বা একাধিক আর্গুমেন্ট গ্রহণ করে এবং একটি একক মান ফেরত দেয়। এই ফাংশনগুলি সাধারণত ডেটার উপর বিভিন্ন গণনা বা রূপান্তর করতে ব্যবহৃত হয়, যেমন সংখ্যা, তারিখ, স্ট্রিং ইত্যাদি।
Scalar Functions এর মাধ্যমে ডেটার উপর গাণিতিক, স্ট্রিং এবং লজিকাল অপারেশন করা সম্ভব। Presto তে বিল্ট-ইন অনেক scalar function রয়েছে, যেমন abs()
, length()
, lower()
, concat()
, round()
ইত্যাদি।
abs(x)
: একটি সংখ্যার গাণিতিক মান ফেরত দেয়।
SELECT abs(-5);
-- Output: 5
round(x, d)
: সংখ্যা x
কে d
দশমিক স্থান পর্যন্ত রাউন্ড করে।
SELECT round(3.14159, 2);
-- Output: 3.14
length(s)
: স্ট্রিং s
এর দৈর্ঘ্য ফেরত দেয়।
SELECT length('Presto');
-- Output: 6
lower(s)
: স্ট্রিং s
কে ছোট হাতের অক্ষরে রূপান্তরিত করে।
SELECT lower('Presto');
-- Output: presto
upper(s)
: স্ট্রিং s
কে বড় হাতের অক্ষরে রূপান্তরিত করে।
SELECT upper('Presto');
-- Output: PRESTO
current_date
: বর্তমান তারিখ ফেরত দেয়।
SELECT current_date;
-- Output: 2024-11-27 (এটি বর্তমান তারিখ)
date_add(unit, value, date)
: নির্দিষ্ট একক (যেমন দিন, মাস, বছর) এর মাধ্যমে একটি তারিখে যোগ করা হয়।
SELECT date_add('day', 10, current_date);
-- Output: 2024-12-07
date_sub(unit, value, date)
: নির্দিষ্ট একক এর মাধ্যমে একটি তারিখ থেকে কমানো হয়।
SELECT date_sub('month', 2, current_date);
-- Output: 2024-09-27
coalesce(a, b, ...)
: যদি প্রথম আর্গুমেন্ট NULL
হয়, তাহলে পরবর্তী আর্গুমেন্টের মান ফেরত দেয়।
SELECT coalesce(NULL, NULL, 'Presto');
-- Output: Presto
if(condition, true_value, false_value)
: একটি শর্তের উপর ভিত্তি করে দুটি মানের মধ্যে একটি ফেরত দেয়।
SELECT if(1 > 2, 'True', 'False');
-- Output: False
count()
, sum()
, avg()
ইত্যাদি।sum(column)
: একটি কলামের মোট যোগফল ফেরত দেয়।
SELECT sum(salary) FROM employees;
avg(column)
: একটি কলামের গড় মান ফেরত দেয়।
SELECT avg(salary) FROM employees;
Presto-তে Scalar Functions ব্যবহার করা অনেক সহজ। আপনি SQL কোয়েরি তে এই ফাংশনগুলি সরাসরি ব্যবহার করতে পারেন। নিচে কিছু উদাহরণ দেয়া হলো:
গণনা করা:
SELECT abs(-50); -- Output: 50
স্ট্রিং রূপান্তর:
SELECT upper('hello world'); -- Output: HELLO WORLD
তারিখের সাথে অপারেশন:
SELECT date_add('day', 5, current_date); -- Output: 2024-12-02 (যদি আজকের তারিখ 2024-11-27 হয়)
NULL মান ব্যবস্থাপনা:
SELECT coalesce(NULL, 100, 200); -- Output: 100
Presto তে Scalar Functions অত্যন্ত শক্তিশালী এবং ব্যবহারকারীকে একক মানের উপর অপারেশন করতে সাহায্য করে। গাণিতিক, স্ট্রিং, তারিখ/সময়, এবং লজিক্যাল বিভিন্ন অপারেশন সহ অন্যান্য অনেক ধরনের ফাংশন Presto তে উপলব্ধ রয়েছে। এগুলি ব্যবহার করে ডেটা প্রসেসিংকে আরও দক্ষ এবং কার্যকর করা যায়।